<?php

require('fpdf17/fpdf.php');

class PDF extends FPDF
{

var $widths;
var $aligns;

//cabecera Paginas
function Header()
{
    // Logo
    $this->Image('imagenes/logo_pdf.png',10,8,33);
    // Arial bold 15
    $this->SetFont('Arial','B',15);
    // Movernos a la derecha
    $this->Cell(80);
    // Título
    $this->ln(10);
    $this->SetTextColor(246,202,47);
    $this->Cell(200,10,'Proyectos Actuales',0,0,'C') ;
    // Salto de línea
    $this->Ln(20);
}

// Pie de página
function Footer()
{
    // Posición: a 1,5 cm del final
    $this->SetY(-15);
    // Arial italic 8
    $this->SetFont('Arial','I',8);
    // Número de página
    $this->Cell(0,10,'Pagina '.$this->PageNo(),0,0,'C');
}

function tabla($cabecera,$datos)
{
    $this->cabeceraTabla($cabecera) ;
    $this->datosTabla($datos);
}

function cabeceraTabla($cabecera)
{
    //Cabecera
    $this->SetFont('Arial','B',15);
    foreach($cabecera as $columna) {
        $this->Cell(40,7,$columna,1, 0 , 'C' ) ;
    }
    $this->Ln();
}

function datosTabla($datos)
{
    //Datos
    $this->SetFont('Arial','',8);
    foreach ($datos as $dato) {
        foreach ($dato as $columna) {
            $this->Cell(40,7,$columna,1,0,'C' );
        }
        $this->Ln () ;
    }
}

function CheckPageBreak($h)
{
	//If the height h would cause an overflow, add a new page immediately
	if($this->GetY()+$h>$this->PageBreakTrigger)
		$this->AddPage($this->CurOrientation);
}

function NbLines($w,$txt)
{
	//Computes the number of lines a MultiCell of width w will take
	$cw=&$this->CurrentFont['cw'];
	if($w==0)
		$w=$this->w-$this->rMargin-$this->x;
	$wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
	$s=str_replace("\r",'',$txt);
	$nb=strlen($s);
	if($nb>0 and $s[$nb-1]=="\n")
		$nb--;
	$sep=-1;
	$i=0;
	$j=0;
	$l=0;
	$nl=1;
	while($i<$nb)
	{
		$c=$s[$i];
		if($c=="\n")
		{
			$i++;
			$sep=-1;
			$j=$i;
			$l=0;
			$nl++;
			continue;
		}
		if($c==' ')
			$sep=$i;
		$l+=$cw[$c];
		if($l>$wmax)
		{
			if($sep==-1)
			{
				if($i==$j)
					$i++;
			}
			else
				$i=$sep+1;
			$sep=-1;
			$j=$i;
			$l=0;
			$nl++;
		}
		else
			$i++;
	}
	return $nl;
}

function Fila($data)
{
	//Calculate the height of the row
	$nb=0;
	for($i=0;$i<count($data);$i++)
		$nb=max($nb,$this->NbLines($this->widths[$i],$data[$i]));
	$h=5*$nb;
	//Issue a page break first if needed
	$this->CheckPageBreak($h);
	//Draw the cells of the row
	for($i=0;$i<count($data);$i++)
	{
		$w=$this->widths[$i];
		$a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L';
		//Save the current position
		$x=$this->GetX();
		$y=$this->GetY();
		//Draw the border

		$this->Rect($x,$y,$w,$h);

		$this->MultiCell($w,5,$data[$i],0,$a,'true');
		//Put the position to the right of the cell
		$this->SetXY($x+$w,$y);
	}
	//Go to the next line
	$this->Ln($h);
}

function SetWidths($w)
{
	//Set the array of column widths
	$this->widths=$w;
}

function Alinear($a)
{
	//Set the array of column alignments
	$this->aligns=$a;
}

}

$sql = "SELECT u.nombres, u.apellidoPaterno, u.apellidoMaterno,".
        "p.nombreProyecto, p.descripcion FROM proyecto p,usuario u ".
        "where p.jefeproyecto=u.codigoUsuario";


$link = mysql_connect("localhost", "root", "root") or die ("error conexion");
mysql_select_db("SAREQ", $link) or die ("error al seleccionar bd");
$result = mysql_query($sql,$link);

$pdf = new PDF('P','mm','Letter');
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);

$i=1;
$pdf->SetWidths(array(20, 50, 55, 70));
$pdf->SetFont('Arial','B',10);
$pdf->SetFillColor(71,100,248);
$pdf->SetTextColor(246,202,47);
$pdf->Fila(array('Proyecto','Jefe Proyecto','Proyecto', 'Descripcion'));

while($row=mysql_fetch_array($result))
{
    $pdf->SetFillColor(255,255,255);
    $pdf->SetTextColor(0);
    $pdf->Fila(array($i,$row['nombres'].' '.$row['apellidoPaterno'].' '.$row['apellidoMaterno'],$row['nombreProyecto'],$row['descripcion']));
    $i=$i+1;

}

$pdf->Output();
?>